##动+静态库
dynamic_lib=libmymethod.so #想形成一个库，名字叫libmythod.so (动态)
static_lib=libmymath.a  #想形成一个库，名字叫libmymath.a  （静态）

##一次生成动+静态库
.PHONY:all
all:$(dynamic_lib) $(static_lib)
## 静态库
$(static_lib):mymath.o  ##所有.o文件打包生成.a文件
	ar -rc $@ $^
mymath.o:mymath.c
	gcc -c mymath.c

## 动态库
$(dynamic_lib):myprint.o mylog.o
	gcc -shared -o $@ $^  ##所有.o文件打包生成.so文件
myprint.o:myprint.c
	gcc -fPIC -c  $^
mylog.o:mylog.c
	gcc -fPIC -c  $^

.PHONY: clean
clean:
	rm -rf *.o *.a mylib *.so 
.PHONY:output ##发布
output:
	mkdir -p mylib/include  #头文件
	mkdir -p mylib/lib  #库
	cp *.h mylib/include   #把头文件拷贝到include
	cp *.a mylib/lib #把库文件拷贝到lib
	cp *.so mylib/lib #把库文件拷贝到lib
